package com.zjdiepu.www.model.yw.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.List;

import org.apache.commons.lang.StringUtils;

import com.alibaba.fastjson.annotation.JSONField;
import com.zjdiepu.www.common.util.CollectionInitUtil;
import com.zjdiepu.www.util.HtmlUtil;
/**
 * 项目名称：dpqc-parent-manager-rest <br/> 
 * 类名称：YwBusinessResponse <br/>  
 * 类描述： 业务数据<br/>    
 * 创建人：xiongxiaotun <br/> 
 * 创建时间：2017年4月26日 上午11:44:39  <br/>   
 * 修改人：xiongxiaotun <br/> 
 * 修改时间：2017年4月26日 上午11:44:39   <br/>  
 * 修改备注：    <br/> 
 * @version V1.0   <br/>
 */
@ApiModel(value="YwBusinessBaseResponse", description="业务数据")
public class YwBusinessBaseResponse implements Serializable{

	private static final long serialVersionUID = -6497202908519464708L;
	/**
	 * 业务ID
	 */
	@JSONField(name = "replaceId")
	@ApiModelProperty(name="replaceId",required=true,value="主键",example="1")
	private String id;
	
	/**
	 * 业务编码
	 */
	@ApiModelProperty(name="busiCode",required=true,value="业务编码",example="业务编码")
	private String busiCode;
	
	
	/**
	 * 签约贷款额
	 */
	@ApiModelProperty(name="signLoanAmount",required=false,value="签约贷款额",example="0")
	private Double signLoanAmount;
	
	/**
	 * 客户ID
	 */
	@ApiModelProperty(name="customerId",required=false,value="客户ID",example="客户ID")
	private String customerId;
	
	/**
	 * 客户姓名
	 */
	@ApiModelProperty(name="customerName",required=false,value="客户姓名",example="客户姓名")
	private String customerName;
	
	/**
	 * 客户身份证号
	 */
	@ApiModelProperty(name="customerNo",required=false,value="客户身份证号",example="客户身份证号")
	private String customerNo;
	
	/**
	 * 车辆名称
	 */
	@ApiModelProperty(name="nameCarModel",required=false,value="车辆名称",example="车辆名称")
	private String nameCarModel;
	
	/**
	 * 阶段
	 */
	@ApiModelProperty(name="busiStatus",required=false,value="阶段",example="资料登记")
	private String busiStatus;
	
	/**
	 * 阶段名称
	 */
	@ApiModelProperty(name="nameBusiStatus",required=false,value="阶段名称",example="资料登记")
	private String nameBusiStatus;
	
	/**
	 * 修改时间（上次处理时间）
	 */
	@ApiModelProperty(name="modifiedDate",required=false,value="修改时间（上次处理时间）",example="2017-05-21 23:23")
	private String modifiedDate;
	
	/**
	 * 征信查询结果码
	 */
	@ApiModelProperty(name="creditResult",required=false,value="征信查询结果码",example="征信查询结果码")
	private String creditResult;
	
	/**
	 * 征信查询结果
	 */
	@ApiModelProperty(name="nameCreditResult",required=false,value="征信查询结果",example="征信查询结果")
	private String nameCreditResult;
	
	/**
	 * 征信申请新建日期
	 */
	@ApiModelProperty(name="nameQueryCreditApplycreatedDate",required=false,value="征信申请新建日期",example="2014-04-23 23:23")
	private String nameQueryCreditApplycreatedDate;
	
	/**
	 * 征信查询反馈备注
	 */
	@ApiModelProperty(name="creditResultMark",required=false,value="征信查询反馈备注",example="征信查询反馈备注")
	private String creditResultMark;
	
	/**
	 * 渠道类型
	 */
	@ApiModelProperty(name="channelType",required=false,value="渠道类型",example="渠道类型")
	private String channelType;
	/**
	 * 渠道类型
	 */
	@ApiModelProperty(name="nameChannelType",required=false,value="渠道类型",example="渠道类型")
	private String nameChannelType;
	/**
	 * 还款状态
	 */
	@ApiModelProperty(name="refundStatus",required=false,value="还款状态",example="还款状态")
	private String refundStatus;
	/**
	 * 还款状态
	 */
	@ApiModelProperty(name="nameRefundStatus",required=false,value="还款状态",example="还款状态")
	private String nameRefundStatus;

	/**
	 * 剩余(逾期)金额
	 */
	@ApiModelProperty(name="amountRemainder",required=false,value="剩余(逾期)金额",example="剩余(逾期)金额")
	private Double amountRemainder;
	
	/**
	 * 是否可以从相册获取
	 */
	@ApiModelProperty(name="photoAlbum",required=true,value="是否可以从相册获取",example="是否可以从相册获取")
	private boolean photoAlbum;
	
	/**
	 * 配偶个数
	 */
	@ApiModelProperty(name="countPeiOu",required=false,value="配偶个数",example="配偶个数")
	private Integer countPeiOu;
	/**
	 * 担保人个数
	 */
	@ApiModelProperty(name="countDanBaoRen",required=false,value="担保人个数",example="担保人个数")
	private Integer countDanBaoRen;
	
	/**
	 * 主借人ID
	 */
	@ApiModelProperty(name="zhujierenId",required=false,value="主借人ID",example="主借人ID")
	private String zhujierenId;
	
	/**
	 * 配偶ID
	 */
	@ApiModelProperty(name="peiOuId",required=false,value="配偶ID",example="配偶ID")
	private String peiOuId;
	
	/**
	 * 担保人ID
	 */
	@ApiModelProperty(name="danBaoRenIds",required=false,value="担保人ID",example="担保人ID")
	private List<String> danBaoRenIds;
	
	/**
	 * 提交初审
	 */
	@ApiModelProperty(name="comitInitial",required=false,value="提交初审",example="提交初审")
	private Boolean comitInitial; 
	
	/**
	 * 提交终审
	 */
	@ApiModelProperty(name="comitFinal",required=false,value="提交终审",example="提交终审")
	private Boolean comitFinal;
	
	/**
	 * 征信申请新建日期
	 */
	@ApiModelProperty(name="creditApplyDate",required=false,value="征信申请新建日期",example="征信申请新建日期")
	private String creditApplyDate;
	
	/**
	 * 车辆ID
	 */
	@ApiModelProperty(name="carId",required=false,value="车辆ID",example="车辆ID")
	private String carId;
	
	/**
	 * 已登记车辆资料
	 */
	@ApiModelProperty(name="carFinish",required=false,value="已登记车辆资料",example="已登记车辆资料")
	private boolean carFinish;
	
	/**
	 * 车贷ID
	 */
	@ApiModelProperty(name="loanId",required=false,value="车贷ID",example="车贷ID")
	private String loanId;
	/**
	 *  已登记贷款
	 */
	@ApiModelProperty(name="loanId",required=false,value="已登记贷款",example="已登记贷款")
	private boolean loanFinish;
	
	/**
	 * 购车人基本信息
	 */
	@ApiModelProperty(name="buyerBaseInfos",required=false,value="购车人基本信息",example="购车人基本信息")
	private List<BuyerBaseInfo> buyerBaseInfos;
	
	public boolean isLoanFinish() {
		return loanFinish;
	}

	public void setLoanFinish(boolean loanFinish) {
		this.loanFinish = loanFinish;
	}

	public boolean isCarFinish() {
		return carFinish;
	}

	public void setCarFinish(boolean carFinish) {
		this.carFinish = carFinish;
	}

	public String getLoanId() {
		return loanId;
	}

	public void setLoanId(String loanId) {
		this.loanId = loanId;
	}

	public List<BuyerBaseInfo> getBuyerBaseInfos() {
		return buyerBaseInfos;
	}

	public void setBuyerBaseInfos(List<BuyerBaseInfo> buyerBaseInfos) {
		this.buyerBaseInfos = buyerBaseInfos;
	}

	public String getCreditResult() {
		return creditResult;
	}

	public void setCreditResult(String creditResult) {
		this.creditResult = creditResult;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getBusiCode() {
		return busiCode;
	}

	public void setBusiCode(String busiCode) {
		this.busiCode = busiCode;
	}

	public Double getSignLoanAmount() {
		return signLoanAmount;
	}

	public void setSignLoanAmount(Double signLoanAmount) {
		this.signLoanAmount = signLoanAmount;
	}

	public String getCustomerId() {
		return customerId;
	}

	public void setCustomerId(String customerId) {
		this.customerId = customerId;
	}

	public String getCustomerName() {
		return customerName;
	}

	public void setCustomerName(String customerName) {
		this.customerName = customerName;
	}

	public String getCustomerNo() {
		return customerNo;
	}

	public void setCustomerNo(String customerNo) {
		this.customerNo = customerNo;
	}

	public String getCarId() {
		return carId;
	}

	public void setCarId(String carId) {
		this.carId = carId;
	}

	public String getNameCarModel() {
		return nameCarModel;
	}

	public void setNameCarModel(String nameCarModel) {
		this.nameCarModel = nameCarModel;
	}
	
	public String getBusiStatus() {
		return busiStatus;
	}

	public void setBusiStatus(String busiStatus) {
		this.busiStatus = busiStatus;
	}

	public String getNameBusiStatus() {
		return nameBusiStatus;
	}

	public void setNameBusiStatus(String nameBusiStatus) {
		this.nameBusiStatus = nameBusiStatus;
	}

	public String getModifiedDate() {
		return modifiedDate;
	}

	public void setModifiedDate(String modifiedDate) {
		this.modifiedDate = modifiedDate;
	}

	public String getNameCreditResult() {
		return nameCreditResult;
	}

	public void setNameCreditResult(String nameCreditResult) {
		this.nameCreditResult = nameCreditResult;
	}

	public String getNameQueryCreditApplycreatedDate() {
		return nameQueryCreditApplycreatedDate;
	}

	public void setNameQueryCreditApplycreatedDate(
			String nameQueryCreditApplycreatedDate) {
		this.nameQueryCreditApplycreatedDate = nameQueryCreditApplycreatedDate;
	}

	public String getCreditResultMark() {
		return HtmlUtil.filterHtml(creditResultMark);
	}

	public void setCreditResultMark(String creditResultMark) {
		this.creditResultMark = creditResultMark;
	}

	public String getChannelType() {
		return channelType;
	}

	public void setChannelType(String channelType) {
		this.channelType = channelType;
	}

	public String getNameChannelType() {
		return nameChannelType;
	}

	public void setNameChannelType(String nameChannelType) {
		this.nameChannelType = nameChannelType;
	}

	public String getRefundStatus() {
		return refundStatus;
	}

	public void setRefundStatus(String refundStatus) {
		this.refundStatus = refundStatus;
	}

	public String getNameRefundStatus() {
		return nameRefundStatus;
	}

	public void setNameRefundStatus(String nameRefundStatus) {
		this.nameRefundStatus = nameRefundStatus;
	}

	public Double getAmountRemainder() {
		return amountRemainder;
	}

	public void setAmountRemainder(Double amountRemainder) {
		this.amountRemainder = amountRemainder;
	}

	public boolean isPhotoAlbum() {
		return photoAlbum;
	}

	public void setPhotoAlbum(boolean photoAlbum) {
		this.photoAlbum = photoAlbum;
	}

	public Integer getCountPeiOu() {
		return countPeiOu;
	}

	public void setCountPeiOu(Integer countPeiOu) {
		this.countPeiOu = countPeiOu;
	}

	public Integer getCountDanBaoRen() {
		return countDanBaoRen;
	}

	public void setCountDanBaoRen(Integer countDanBaoRen) {
		this.countDanBaoRen = countDanBaoRen;
	}

	public String getZhujierenId() {
		return zhujierenId;
	}

	public void setZhujierenId(String zhujierenId) {
		this.zhujierenId = zhujierenId;
	}

	public String getPeiOuId() {
		return peiOuId;
	}

	public void setPeiOuId(String peiOuId) {
		this.peiOuId = peiOuId;
	}

	public List<String> getDanBaoRenIds() {
		return danBaoRenIds;
	}

	public void setDanBaoRenIds(List<String> danBaoRenIds) {
		this.danBaoRenIds = danBaoRenIds;
	}
	
	public void addDanBaoRenId(String danBaoRenId) {
		if(StringUtils.isBlank(danBaoRenId)) {
			return;
		}
		if(null == danBaoRenIds) {
			danBaoRenIds = CollectionInitUtil.emptyList();
		}
		danBaoRenIds.add(danBaoRenId);
	}

	public Boolean getComitInitial() {
		return comitInitial;
	}

	public void setComitInitial(Boolean comitInitial) {
		this.comitInitial = comitInitial;
	}

	public Boolean getComitFinal() {
		return comitFinal;
	}

	public void setComitFinal(Boolean comitFinal) {
		this.comitFinal = comitFinal;
	}

	public String getCreditApplyDate() {
		return creditApplyDate;
	}

	public void setCreditApplyDate(String creditApplyDate) {
		this.creditApplyDate = creditApplyDate;
	}
}
